package com.winning.ds.role.service;

import com.winning.ds.common.entity.SysGncdEntity;
import com.winning.ds.role.entity.SysGncdGnanEntity;
import com.winning.ds.role.entity.SysGncdQxanEntity;
import com.winning.ds.role.entity.SysGncdTreeEntity;

import java.util.List;
import java.util.Map;

/**
 * @program: plat
 * @description: 菜单相关service
 * @author: nxs
 * @create: 2018-07-20 15:24
 **/
public interface MenuService {


    //根据应用id查询
    List<SysGncdTreeEntity> queryMenuByAppid(String yydm);

    //根据应用id查询
    List<SysGncdTreeEntity> queryMenuByParams(Map queryParams);


    List<SysGncdTreeEntity> hasChildGncd(List<SysGncdTreeEntity> yyzcList1);

    //保存功能菜单
    void saveMenu(SysGncdEntity sge, String mcode);

    //保存按钮功能
    void saveGnan(SysGncdGnanEntity sgge);

    void saveQxan(SysGncdQxanEntity sgge);

    //查询功能按钮
    List<SysGncdGnanEntity> queryGnan(String sjcddm);

    List<SysGncdQxanEntity> queryQxan(String sjsjcddm);

    //删除功能按钮
    void delGnan(String lsh);

    void delQxan(String sjlsh);

    //根据流水号查询
    SysGncdGnanEntity queryGnanBylsh(String lsh);

    List<SysGncdGnanEntity> queryGnanByParams(Map<String,Object> queryParams);

    List<SysGncdQxanEntity> queryQxanByParams(Map<String,Object> queryParams);

    SysGncdQxanEntity queryQxanBylsh(String sjlsh);

    //更新按钮功能
    void updateGnan(SysGncdGnanEntity sgge);

    void updateQxan(SysGncdQxanEntity sgge);

    //查询菜单详情
    SysGncdEntity queryGncdInfo(String mcode);

    //删除菜单
    void delGncd(String mcode);

    void updateGncd(SysGncdEntity sge);

    void updateGncdList(SysGncdEntity sge);

    //根据菜单代码和功能代码查询
    SysGncdGnanEntity queryGnanByGndm(String cddm, String gndm);
}
